This invention to computer workstation equipment, and particularly to a computer workstation which can be operated as either a smart computer terminal for remote data processing, as a stand-alone microcomputer, or as a networked microcomputer workstation.
It is well known in the prior art to use the computer terminals which are connected by communications links to a central processing unit. Modern terminals called "smart terminals" include microprocessor control circuits with firmware that can provide a special terminal editing features, for data formatting and presentation. Such "smart" terminals do not, however, have the capability to provide local data processing other than such editing, formatting and presentation features. Many "smart" terminals not only provide their own set of such features, but are also designed to "emulate" such features which are available in other, similar terminals. Accordingly, such terminals can be used with central computers and programs designed to be used with other, similar terminals. The assignee of this application presently markets such "smart" terminals, including one having the tradename "Esprit II". Smart terminals are generally used for what is referred to herein as "remote data processing", which means that data processing and manipulation takes place in a unit of equipment remote from the terminal.
FIG. 1 illustrates in block diagram a typical configuration for use of smart terminals for remote data processing. A central processing unit (CPU) 10 is provided with a storage device 12, such as a hard disk storage unit and a printer 14 to provide hard copy output. Smart terminals 16 are connected to the central processing unit 10 by communication lines in various topologies. The terminals 16 may be used by computer operating employees for purposes of entering, processing, and retrieving data from the central processing unit 10 and its related peripheral devices, such as storage unit 12. In a typical application, an operator at a terminal 16 may communicate with the central processing unit 10 in order to obtain information from storage unit 12, for example, the availability of seating on an airline flight. The operator at a terminal 16 may also enter data representing, for example, an airline reservation made by a prospective passenger. The operator at terminal 16 may also have some of the information printed out on a printer 14, for example, a print-out of an airline ticket for the potential passenger. In the configuration of FIG. 1 substantially all of the data processing and manipulation takes place in the central processing unit 10, which has access to mass storage unit 12 and printer 14. It is possible, in some situations, to have printers also associated with terminal 16.
FIG. 2 illustrates the configuration in block diagram form of a typical smart terminal 16 of the type useful in the computer configuration of FIG. 1. The configuration of FIG. 2 includes a display monitor 18, which usually includes a cathode ray tube display on which alphanumeric characters are presented to the terminal operator. There is also provided a communications interface 20 for placing data into correct format for transmission to the central processing unit 10 and for receiving data from the central processing unit 10. A keyboard 22 is provided for manual entry of data, including inquiries, by the terminal operator. A display memory 24 is provided for storing the alphanumeric characters presented on the display 18. This display memory is also known as a refresh memory. The terminal is operated by the display control circuitry 26, which is well known in the art. Typically, such display control circuitry 26 might include a microprocessor operating under a "firmware" control program in a read-only memory for receiving and operating on data received from the keyboard 22 and the communication interface 20. The firmware control program may enable the smart terminal to assume a variety of display function characteristics to emulate a variety of terminals. The display control circuitry also includes circuitry known as the CRT controller, which addresses data in the display memory and provides timing signals to the character generator for generating a suitable video signal. The CRT controller also generates suitable control signals, such as horizontal and vertical synchronization signals, which are supplied to the cathode ray tube display monitor 18.
There have become known in the prior art small, self-contained computer systems, which are frequently referred to as microcomputers, with a central processing unit which is a microprocessor. Such microcomputers are generally equipped with a keyboard, a local memory and a display. According to the configuration of the microcomputer, the local memory may include a memory portion for refreshing the display, or there may be included two local memories, one for providing the display memory function, typical of a terminal, and the other for providing program memory for program information and data. Such microcomputers usually include display control circuitry which is closely associated with and operated by the central processing unit of the microcomputer. The display control circuitry would typically include its own CRT controller circuit for generating the necessary CRT control signals and timing signals for generation of the video signal, but usually does not include a separate microprocessor of the type used in the terminal 16 for purposes of controlling data flow into and out of the display memory and for processing of control signal for the display. In a microcomputer these control functions are usually performed by the central processing unit of the microcomputer.
It has been known to make use of networked microcomputers for purposes of economy in a configuration which has become known as a distributed data processing system. FIG. 3 illustrates a typical distributed data processing configuration wherein a plurality of microcomputers 28, each with its own central processing unit, keyboard 30, memory 32 and display 34 are connected by communication lines to a centralized central processing unit 10. In some configurations of this type, central processing unit 10 may also be supplied with a keyboard, a memory, and a display device so that it can also act as a workstation, similar to the work stations formed by microcomputers 28. The central processing unit 10 is provided with direct access to mass storage, such as disk storage 12, and also to a printer 14. An operator using one of workstations 28 will typically access a program or set of data contained in storage unit 12, which will be down-loaded by central processing unit 10 to the microcomputer 28 which the operator is using. Thereafter, the microcomputer unit 28 acts as an independent processor working under the down-loaded program, substantially independent of the central processing unit 10, except possibly for supplying data to update information in storage unit 12. A typical example of this type of data processing network would be a word processing system wherein a word processing program is down-loaded by central processing unit 10 to microcomputer 28. The operator at microcomputer 28 can perform word processing operations to enter or edit data which is contained in its local memory 32. When it becomes necessary to print out the data, it can be transmitted back to central processing unit 10 for operation of printer 14. The microcomputer network configuration of FIG. 3 represents what will be referred to herein as distributed processing, wherein substantial data processing functions, including a control program, are operated in the individual workstations comprising microcomputers 28.
An object of the present invention is to provide a workstation, which can be used either as a smart terminal 16, for performing remote data processing, as a stand-alone microcomputer for performing local data processing, or as a networked microcomputer 28 for performing local data processing. It is possible to achieve this functional result to a limited extent by providing a special program for a microcomputer 28 which causes the microcomputer to simulate the operation of a smart terminal 16 and thereby perform the input and output data functions in connection with remote processing of data which can be performed with a smart terminal. This approach is not entirely satisfactory because the arrangement of the display controller in a microcomputer often does not provide all of the operating characteristics which can be provided with a smart terminal.
Further, it is very difficult to provide a microcomputer program which will enable the microcomputer to emulate the functional characteristics of a variety of smart terminals as is done with available smart terminals, which include hardware and firmware specifically designed for such emulation. In addition, the keyboard of a microcomputer may not have a sufficient number of control key functions to provide the operational features which are provided in a smart terminal. Some of the special operational features available in a smart terminal under software or operator control, which would be extremely difficult to implement using software in a microcomputer are display of double-height, double-width characters and smooth scrolling of the displayed message.
It is generally possible to use a smart terminal serially connected to the central processing unit of a microcomputer using the microcomputer as the remote processing device and having the display function performed by the smart terminal. This approach does not work effectively with third party application software which may be available for the microcomputer, which assumes that the microcomputer is operating in connection with its own CRT display controller, which is directly coupled to the central processing unit or microprocessor of the microcomputer. Accordingly, modification of the microcomputer software is necessary to achieve operation of the microcomputer serially connected to a smart terminal, and the full performance capabilities of the microcomputer could not be achieved due to the serial connection.
It is therefore an object of the present invention to provide a multi-mode workstation, which is capable of operating with a remote data processing unit under control of programs in the remote data processing unit intended for use with smart terminals, and which is also capable of providing stand-alone local microcomputer processing using standard control programs intended for use in connection with similar microcomputers, or networked microcomputer processing using standard or custom developed network software.